home *** CD-ROM | disk | FTP | other *** search
- // Class definition for quake2.exe
-
- class QuakeII
- {
- /***************************************************************
- * Begin of required properties for all GOFs.
- * The 'Display' names should never be changed on these variables.
- ***************************************************************/
- [
- Display("Host Name"),
- Description("The name of the server."),
- Default("Quake II Server"),
- AlwaysBrowserVisible,
- ]
- string hostname;
-
- [
- Display("Current Players"),
- Description("The current number of players connected to the server."),
- Readonly,
- AlwaysBrowserVisible
- ]
- uint32 currentclients;
-
- [
- Display("Maximum Players"),
- Description("The maximum number of players allowed on the server."),
- Default("8"),
- AfterLevelChange,
- AlwaysBrowserVisible
- ]
- uint32 maxclients;
-
- [
- Display("Port"),
- Description("The UDP port the server is using."),
- Readonly,
- Default("27910") // This will be used when inserting a new server.
- ]
- uint32 port;
-
- [
- Display("Game Directory"),
- Description(
- "The directory used for additional map information. "
- "This indicates which mod the server is using."),
- Default("baseq2"),
- AlwaysBrowserVisible,
- AfterLevelChange
- ]
- string game;
-
- [
- Display("Extra Parameters"),
- Description(
- "This property can be used to pass additional command-line "
- "parameters to the game server."),
- Default("")
- ]
- string extraparam; // This name should never change.
-
- [
- Display("Initial Level"),
- Description("When the server first starts it will use this level."),
- ValueMap{
- "base1","base2","base3","biggun","boss1",
- "boss2","bunk1","city1","city2",
- "city3","command","cool1","fact1",
- "fact2","fact3","hangar1","hangar2",
- "jail1","jail2","jail3",
- "jail4","jail5","lab","mine1",
- "mine2","mine3","mine4","mintro","power1",
- "power2","security","space","strike","train",
- "ware1","ware2","waste1","waste2",
- "waste3"},
- Values{
- "Outer Base","Installation","Comm Center","Big Gun","Inner Chamber",
- "Final Showdown","Ammo Depot","Outer Courts","Lower Palace",
- "Upper Palace","Launch Command","Cooling Facility","Receiving Center",
- "Processing Plant","Sudden Death","Outer Hangar","Inner Hangar",
- "Main Gate","Detention Center","Security Complex",
- "The Tourture Chambers","Guard House","Research Lab","Upper Mines",
- "Borehole","Drilling Area","Lower Mines","Mine Entrance","Power Plant",
- "The Reactor","Grid Control","Comm Satellite","Outlands","Lost Station",
- "Supply Station","Warehouse","Toxic Waste Dump","Pumping Station 1",
- "Pumping Station 2"},
- Default("Outer Base")
- ]
- string initlevel;
-
- [
- Display("Current Level"),
- Description("The current map the server is using."),
- AlwaysBrowserVisible,
- Readonly,
- UsesValues("initlevel")
- ]
- string mapname;
-
- [
- Display("Time Limit"),
- Description(
- "The number of minutes the server will remain on a level. "
- "If this is 0 there is no time limit."),
- AlwaysBrowserVisible,
- Default("0")
- ]
- uint32 timelimit;
-
- [
- Display("Score Limit"),
- Description(
- "When a player's score reaches this level, the server will change "
- "to the next map. If this number is 0 there is no score limit."),
- AlwaysBrowserVisible,
- Default("0")
- ]
- uint32 fraglimit;
- /***************************************************************
- * End of required properties for all GOFs.
- ***************************************************************/
-
-
- [
- Display("Game DLL Location"),
- Description(
- "The name of the folder being used by the game server for "
- "custom map information."),
- Readonly,
- ]
- string gamename;
-
- [
- Display("Game DLL Date"),
- Description("The date of the game file."),
- Readonly,
- ]
- string gamedate;
-
- [
- Display("Quake II Version"),
- Description("The version of the Quake II server."),
- AlwaysBrowserVisible,
- Readonly,
- ]
- string version;
-
- [
- Display("Maximum Spectators"),
- Description("Maximum number of spectators allowed on the server."),
- Default("4"),
- ]
- uint32 maxspectators;
-
- [
- Display("Quake II Protocol"),
- Description("The Quake II protocol number the server is using."),
- Readonly,
- AlwaysBrowserVisible,
- ]
- string protocol;
-
- [
- Display("Cheats"),
- Description("This property enables cheat codes on the server."),
- AfterLevelChange,
- AlwaysBrowserVisible,
- Default("False"),
- ]
- boolean cheats;
-
- [
- Display("Cooperative Mode"),
- Description(
- "Enables cooperative play. When this "
- "property is enabled 'Deathmatch Flags' is ignored."),
- Default("False"),
- AfterLevelChange,
- ]
- boolean coop;
-
- [
- Display("Deathmatch Mode"),
- Description("Enables deathmatch mode."),
- AlwaysBrowserVisible,
- AfterLevelChange,
- Default("True")
- ]
- boolean deathmatch;
-
- [
- Display("Deathmatch Flags"),
- Description(
- "Determines deatchmatch gameplay options."),
- Default("Instant Powerups"),
- Values {
- "No Health","No Powerups","Weapons Stay","No Falling Damage",
- "Instant Powerups","Same Map","Teams by Skin","Teams by Model",
- "No Friendly Fire","Spawn Farthest","Force Respawn","No Armor",
- "Allow Exit","Infinite Ammo","Quad Drop","Fixed FOV",
- "CTF Force Join","Armor Protect","CTF No Tech"},
- // 65536 has been skipped. Otherwise, the ValueMap section wouldn't be
- // needed.
- ValueMap {
- "1", "2", "4", "8",
- "16", "32", "64", "128",
- "256", "512", "1024", "2048",
- "4096", "8192", "16384", "32768",
- "131072", "262144", "524288" },
- AlwaysBrowserVisible,
- Bitmask
- ]
- uint32 dmflags;
-
- [
- Display("Message Mode"),
- Description("Determines which messages are displayed."),
- Default("Most Messages"),
- Values {
- "All Messages","Most Messages","Limited Messages","Minimal Messages",
- "No Messages"},
- ]
- uint32 msg;
-
- [
- Display("Password"),
- Description(
- "The password required to join the server. If this is empty no "
- "password is required to join the server."),
- Default(""),
- ]
- string password;
-
- [
- Display("Spectator Password"),
- Description(
- "The password required to join the server as a spectator. "
- "If this is empty no password is required to join the server as "
- "a spectator."),
- Default(""),
- ]
- string spectator_password;
-
- [
- Display("Air Acceleration"),
- Description(
- "A non-zero value will allow players to control their velocity "
- "while in the air."),
- Default("0")
- ]
- uint32 sv_airaccelerate;
-
- [
- Display("Enforce Time"),
- Description(
- "Enables the enforcing of time measurements between the client "
- "and server."),
- Default("False")
- ]
- boolean sv_enforcetime;
-
- [
- Display("Gravity"),
- Description("The gravity used in the game."),
- Default("800")
- ]
- uint32 sv_gravity;
-
- [
- Display("Map List"),
- Description(
- "A list of maps the server uses when automatically "
- "changing to the next level."),
- Array(" "),
- UsesValues("initlevel"),
- Default("")
- ]
- string sv_maplist;
-
- [
- Display("Maximum Velocity"),
- Description("The maximum velocity for moving objects."),
- Default("2000")
- ]
- uint32 sv_maxvelocity;
-
- [
- Display("No Reload"),
- Description(
- "Enables the reloading of all game information when maps are "
- "changed."),
- Default("False")
- ]
- boolean sv_noreload;
-
- [
- Display("Reconnect Limit"),
- Description(
- "The number of times that a client can reconnect to the server."),
- Default("3")
- ]
- uint32 sv_reconnect_limit;
-
- [
- Display("Connection Timeout"),
- Description(
- "The maximum number of seconds before terminating a client that "
- "hasn't sent any packets during that time."),
- Default("125")
- ]
- uint32 timeout;
-
- [
- Display("Byte Rate"),
- Description(
- "The maximum number of bytes the server should send a client."),
- Default("2500")
- ]
- uint32 rate;
-
- [
- MethodVar,
- Display("Map Name"),
- Description(""),
- UsesValues("initlevel")
- ]
- string map;
-
- [
- Display("Change Current Level"),
- Description("Changes the current level."),
- ConsoleCommand("map %1")
- ]
- void ChangeLevel(MethodVar map);
-
- [
- MethodVar,
- Display("Make Visible to Browsers"),
- Description(""),
- Values{"True", "False"},
- ValueMap{"s", ""}
- ]
- string varflag;
-
-
- /***************************************************************
- * Begin of required methods for all GOFs.
- * The names of these methods should never be changed.
- ***************************************************************/
- [
- Display("Set Property"),
- Description("Sets a server property."),
- ConsoleCommand("set %1 \"%2\" %3")
- ]
- void SetProperty(string strVar, string strValue, MethodVar varflag);
- /***************************************************************
- * End of required methods for all GOFs.
- ***************************************************************/
-
-
- /***************************************************************
- * Begin of recommended methods for all GOFs.
- * The names of these methods should never be changed.
- ***************************************************************/
- [
- Display("Kick Player from Server"),
- Description("Removes player from server."),
- ConsoleCommand("kick %1")
- ]
- void KickPlayerByNumber(string strID);
- /***************************************************************
- * End of recommended methods for all GOFs.
- ***************************************************************/
-
-
- [
- Display("Execute Config File"),
- Description("Executes a config file of console commands."),
- ConsoleCommand("exec %1")
- ]
- void Exec(string strMasterList);
-
- [
- Display("Set Master Server"),
- Description("Sets the master server for the game server."),
- ConsoleCommand("setmaster %1")
- ]
- void SetMaster(string strMasterList);
-
- [
- Display("Status"),
- Description("Gets the status of the game server."),
- ConsoleCommand("status")
- ]
- void Status();
-
- };
-
-